﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FPSO.Services
{
    /// <summary>
    /// 舱室液位服务
    /// 可以通过舱室的容量计算液位高
    /// 可以通过舱室的液位高计算容量
    /// </summary>
    public interface ITankLevelService
    {
        /// <summary>
        /// 根据容积计算液位高
        /// </summary>
        /// <param name="tankId">舱室ID</param>
        /// <param name="volume">液位高</param>
        /// <returns></returns>
        double GetTankLevelByVolume(string tankId, double volume);

        /// <summary>
        /// 根据舱室液位高计算容积
        /// </summary>
        /// <param name="tankId"></param>
        /// <param name="level"></param>
        /// <returns></returns>
        double GetTankVolumeByLevel(string tankId, double level);

        /// <summary>
        /// 根据容积计算百分比
        /// </summary>
        /// <param name="tankId">舱室ID</param>
        /// <param name="volume">舱室容量</param>
        /// <returns>容量百分比</returns>
        double GetTankFullByVolume(string tankId, double volume);
    }
}
